home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 4 / BBS in a Box - Macintosh - Volume IV (January 1992) (BBS in a Box).iso / Files / Prog / D-G / Edit Fields.ZBas < prev    next >
Encoding:
Text File  |  1987-06-13  |  8.7 KB  |  220 lines  |  [TEXT/MACA]

  1. 00000 REM _________________ ZBasic™ Multiple EDIT FIELD Demo ____________
  2. 00001 REM Configuration:    Convert to Uppercase, Spaces Required
  3. 00002 REM                   Locate X,Y (Vertical, Horizontal)
  4. 00003 REM Default Variable: Integer
  5. 00004 REM                   Double Precision (#) = 12
  6. 00005 REM                   Single     "     (!) =  6
  7. 00006 REM                   Array Base           =  0
  8. 00007 REM                   Rounding Number      = 49
  9. 00008 REM                   Maximum Files Open   =  2
  10. 00009 REM _______________________________________________________________
  11. 00010 REM
  12. 00011 REM by Jim Chaffin
  13. 00012 REM
  14. 00013 REM Portions of this program are copyrighted by ZEDCOR, Inc.
  15. 00018 REM
  16. 00019 REM _______________________________________________________________
  17. 00020 COORDINATE WINDOW
  18. 00022 IF PEEK(&28E) AND 128 THEN NewROMS = 0 ELSE NewROMS = TRUE
  19. 00023 WINDOW 1,"",(1,1)-(2,2),5: REM This will definitly close the default
  20. 00024 WINDOW CLOSE 1: REM            window every time.
  21. 00050 DIM 30 Edited_Text$(22)
  22. 00099 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  23. 00100 "Set up a Menu"
  24. 00110 MENU 1,0,1,"The Menu"
  25. 00111 MENU 1,1,1,"/SCreate a Multi-EDIT FIELD Window"
  26. 00112 MENU 1,2,0,"/RRe-Create the above Window"
  27. 00114 MENU 1,4,0,"/WClose the Window"
  28. 00116 MENU 1,6,0,"/EClose the EDIT FIELDs"
  29. 00118 MENU 1,8,1,"/QClose the whole PROGRAM!"
  30. 00199 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  31. 00200 "Turn On Event Trapping"
  32. 00210 ON BREAK  GOSUB "Break Out": REM  The 'ON BREAK' routine can be removed
  33. 00212 ON MENU   GOSUB "Menu Event": REM after the program runs properly.
  34. 00214 ON DIALOG GOSUB "Dialog Event"
  35. 00220 BREAK ON: REM This can be removed after program runs properly.
  36. 00222 MENU ON: DIALOG ON
  37. 00229 REM _______________________________________________________________
  38. 00250 "Loop"
  39. 00258 GOTO "Loop"
  40. 00259 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  41. 00290 "Break Out"
  42. 00295 STOP
  43. 00299 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  44. 00300 "Menu Event"
  45. 00305 Menu_Number = MENU(0): Menu_Item = MENU(1)
  46. 00310 MENU
  47. 00320 ON Menu_Number GOSUB "Menu 1"
  48. 00340 RETURN
  49. 00399 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  50. 00400 "Dialog Event"
  51. 00410 D = DIALOG(0)
  52. 00420 "D Event"
  53. 00460 ON D GOSUB "Button Event", "Edit Event", "Inactive Window", "Close Box", "Refresh", "Return Key", "Tab Key", "Zoom IN", "Zoom OUT", "Shift Tab", "Clear Key", "Left Arrow", "Right Arrow", "Up Arrow", "Down Arrow", "Key Press"
  54. 00490 RETURN
  55. 00499 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  56. 01000 "Menu 1"
  57. 01010 ON Menu_Item GOSUB "Open a Multi-EDIT FIELD Window", "Re-Create the Window", "DUMMY Item", "Close the Window", "DUMMY Item", "Close the EDIT FIELDs", "DUMMY Item", "Quit"
  58. 01020 RETURN
  59. 01099 REM _______________________________________________________________
  60. 01100 "Open a Multi-EDIT FIELD Window"
  61. 01101 MENU OFF
  62. 01102 DIALOG OFF
  63. 01109 "Open a Window with some labels"
  64. 01110 WINDOW 1,"Edit Field tests",(10,40)-(470,310),5: TEXT ,,,1
  65. 01112 CALL MOVETO (20,10): PRINT "Sample Edit Fields"
  66. 01114 CALL MOVETO (10,200): PRINT "Tab/Shift Tab pressed in:"
  67. 01116 CALL MOVETO (10,220): PRINT "Return pressed in:"
  68. 01118 CALL MOVETO (10,240): PRINT "Arrow Keys pressed in:"
  69. 01120 FOR X = 22 TO 12 STEP -1
  70. 01122 EDIT FIELD X,"",(220,(X-11)*14)-(380,((X-11)*14)+11),1,1
  71. 01124 CALL MOVETO (198,((X-11)*14)+9): PRINT X
  72. 01128 NEXT
  73. 01130 FOR X = 11 TO 1 STEP -1
  74. 01132 EDIT FIELD X,Edited_Text$(X),(20,X*14)-(180,(X*14)+11),1,1
  75. 01134 CALL MOVETO (4+((X>9)*6),(X*14)+9): PRINT X
  76. 01138 NEXT
  77. 01150 BUTTON 1,0,"Show EDIT FIELDS",(200,200)-(350,220),1
  78. 01155 TEXT ,,,0
  79. 01159 IF Reopening_Only THEN RETURN
  80. 01160 Edit_Field = 1: Reopening_Only = 0
  81. 01190 MENU ON: DIALOG ON
  82. 01192 MENU 1,1,0: MENU 1,2,0: MENU 1,4,1: MENU 1,6,1
  83. 01198 RETURN
  84. 01199 REM _______________________________________________________________
  85. 01200 "Re-Create the Window"
  86. 01201 MENU OFF
  87. 01202 DIALOG OFF
  88. 01210 Reopening_Only = 1
  89. 01220 GOSUB "Open a Window with some labels"
  90. 01290 MENU ON: DIALOG ON
  91. 01292 MENU 1,2,0: MENU 1,4,1: MENU 1,6,1
  92. 01298 RETURN
  93. 01299 REM _______________________________________________________________
  94. 01300 "DUMMY Item": REM Program will never get here.
  95. 01399 REM _______________________________________________________________
  96. 01400 "Close the Window"
  97. 01401 MENU OFF
  98. 01402 DIALOG OFF
  99. 01410 WINDOW CLOSE 1
  100. 01490 MENU ON: DIALOG ON
  101. 01492 MENU 1,1,0: MENU 1,2,1: MENU 1,4,0: MENU 1,6,0
  102. 01498 RETURN
  103. 01499 REM _______________________________________________________________
  104. 01600 "Close the EDIT FIELDs"
  105. 01601 MENU OFF
  106. 01602 DIALOG OFF
  107. 01610 FOR X = 1 TO 22
  108. 01620 EDIT FIELD CLOSE X
  109. 01630 NEXT
  110. 01690 MENU ON: DIALOG ON
  111. 01692 BUTTON 1,1
  112. 01698 RETURN
  113. 01699 REM _______________________________________________________________
  114. 01800 "Quit"
  115. 01810 END
  116. 01899 REM ///////////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  117. 02000 "DIALOG Events"
  118. 02099 REM _______________________________________________________________
  119. 02100 "Button Event"
  120. 02110 Button_Clicked = DIALOG(1)
  121. 02120 FOR X = 22 TO 12 STEP -1
  122. 02122 EDIT FIELD X,Edited_Text$(X),(220,(X-11)*14)-(380,((X-11)*14)+11),1,1
  123. 02124 NEXT
  124. 02126 FOR X = 11 TO 1 STEP -1
  125. 02128 EDIT FIELD X,Edited_Text$(X),(20,X*14)-(180,(X*14)+11),1,1
  126. 02130 NEXT
  127. 02190 BUTTON 1,0
  128. 02198 RETURN
  129. 02199 REM _______________________________________________________________
  130. 02200 "Edit Event"
  131. 02220 Edit_Field = DIALOG(2)
  132. 02230 EDIT FIELD Edit_Field
  133. 02298 RETURN
  134. 02299 REM _______________________________________________________________
  135. 02300 "Inactive Window"
  136. 02310 Window_Selected = DIALOG(3)
  137. 02398 RETURN
  138. 02399 REM _______________________________________________________________
  139. 02400 "Close Box"
  140. 02410 Close_Box = DIALOG(4)
  141. 02420 GOSUB "Close the Window"
  142. 02498 RETURN
  143. 02499 REM _______________________________________________________________
  144. 02500 "Refresh"
  145. 02510 Erased_Window = DIALOG(5)
  146. 02598 RETURN
  147. 02599 REM _______________________________________________________________
  148. 02600 "Return Key"
  149. 02610 Return_Pressed = DIALOG(6)
  150. 02620 CALL MOVETO (120,220): PRINT Edit_Field
  151. 02630 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  152. 02690 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1
  153. 02692 EDIT FIELD Edit_Field
  154. 02698 RETURN
  155. 02699 REM _______________________________________________________________
  156. 02700 "Tab Key"
  157. 02710 Tab_Pressed = DIALOG(7)
  158. 02720 CALL MOVETO (160,200): PRINT Edit_Field
  159. 02730 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  160. 02790 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1
  161. 02792 EDIT FIELD Edit_Field
  162. 02798 RETURN
  163. 02799 REM _______________________________________________________________
  164. 02800 "Zoom IN"
  165. 02810 Zoom_IN = DIALOG(8)
  166. 02898 RETURN
  167. 02899 REM _______________________________________________________________
  168. 02900 "Zoom OUT"
  169. 02910 Zoom_OUT = DIALOG(9)
  170. 02998 RETURN
  171. 02999 REM _______________________________________________________________
  172. 03000 "Shift Tab"
  173. 03010 Shift_Tab = DIALOG(10)
  174. 03020 CALL MOVETO (160,200): PRINT Edit_Field
  175. 03030 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  176. 03090 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22
  177. 03092 EDIT FIELD Edit_Field
  178. 03098 RETURN
  179. 03099 REM _______________________________________________________________
  180. 03100 "Clear Key"
  181. 03110 Clear_Key = DIALOG(11)
  182. 03198 RETURN
  183. 03199 REM _______________________________________________________________
  184. 03200 "Left Arrow"
  185. 03210 Left_Arrow = DIALOG(12)
  186. 03220 CALL MOVETO (145,240): PRINT Edit_Field
  187. 03230 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  188. 03290 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22
  189. 03292 EDIT FIELD Edit_Field
  190. 03298 RETURN
  191. 03299 REM _______________________________________________________________
  192. 03300 "Right Arrow"
  193. 03310 Right_Arrow = DIALOG(13)
  194. 03320 CALL MOVETO (145,240): PRINT Edit_Field
  195. 03330 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  196. 03390 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1
  197. 03392 EDIT FIELD Edit_Field
  198. 03398 RETURN
  199. 03399 REM _______________________________________________________________
  200. 03400 "Up Arrow"
  201. 03410 Up_Arrow = DIALOG(14)
  202. 03420 CALL MOVETO (145,240): PRINT Edit_Field
  203. 03430 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  204. 03490 Edit_Field = Edit_Field - 1: IF Edit_Field < 1 THEN Edit_Field = 22
  205. 03492 EDIT FIELD Edit_Field
  206. 03498 RETURN
  207. 03499 REM _______________________________________________________________
  208. 03500 "Down Arrow"
  209. 03510 Down_Arrow = DIALOG(15)
  210. 03520 CALL MOVETO (145,240): PRINT Edit_Field
  211. 03530 Edited_Text$(Edit_Field) = EDIT$(Edit_Field)
  212. 03590 Edit_Field = Edit_Field + 1: IF Edit_Field > 22 THEN Edit_Field = 1
  213. 03592 EDIT FIELD Edit_Field
  214. 03598 RETURN
  215. 03599 REM _______________________________________________________________
  216. 03600 "Key Press"
  217. 03610 Key_Pressed = DIALOG(16)
  218. 03698 RETURN
  219. 03699 REM _______________________________________________________________
  220.